import java.util.Scanner;
//字符串遍历统计拼接反转
public class A30 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String str = sc.next();
        //遍历字符串
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            System.out.println(c);
        }
        //统计字符串中大写字母字符,小写字符，数字字符，其他字符出现的次数
        int bigCount = 0;
        int smallCount = 0;
        int numberCount = 0;
        int otherCount = 0;
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (c >= 'A' && c <= 'Z') {
                bigCount++;
            }else if (c >= 'a' && c <= 'z') {
                smallCount++;
            }else if (c >= '0' && c <= '9') {//一定要加''
                numberCount++;
            }else {
                otherCount++;
            }
        }
        System.out.println("大写字母出现的次数为：" + bigCount);
        System.out.println("小写字母出现的次数为：" + smallCount);
        System.out.println("数字出现的次数为：" + numberCount);
        System.out.println("其他字符出现的次数为：" + otherCount);
		
		//拼接字符串
		//定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回
		//调用该方法，并在控制台输出结果。
		//例如:数组为int[] arr ={1,2,3};执行方法后的输出结果为:[1,2,3]
		int[] arr = {1,2,3};
		System.out.println(arrToString(arr));
		
		//定义一个方法，实现字符串反转。
		//键盘录入一个字符串，调用该方法后，在控制台输出结果
		//例如，键盘录入 abc，输出结果 cba
		
		System.out.println("请输入您要反转的字符串");
		String str1 = sc.next();
		System.out.println(arrReverse(str1));
		
    }
	public static String arrToString(int[] arr){
		if(arr == null){
			return "";
		}
		if(arr.length == 0){
			return "[]";
		}
		String result = "[";
		for(int i = 0;i<arr.length;i++){
			if(i == arr.length-1){
				result = result + arr[i];
			}else{
				result = result + arr[i] + ", ";
			}
		}
		result = result + "]";
		return result;
	}
	public static String arrReverse(String str){
		String result = "";
		for(int i = str.length() - 1;i >= 0;i--){
			char c = str.charAt(i);
			result = result + c;
		}
		return result;	
	}
	
	
}